home *** CD-ROM | disk | FTP | other *** search
- ===============================================================================
- Date: SUN, 10 MAR 91 14:05:11 JST
- From: Hirofumi Fujii <KEIBUN@JPNKEKVM>
- Subject: Re: NEC PC9801 Kermit v3.10
- To: Joe Doupnik <JRD@usu>
- In-Reply-To: Your message of Sat, 9 Mar 91 16:14 MDT
-
- Dear Joe,
-
- > One thing needing checking is the rewriting of the Connect mode
- >status line if the printing device is not ready. Printing is now done
- >with procedures in MSSTER.ASM so that the command SET PRINTER <device/file>
-
- Oh, I have not tested printing functions ! I'll check it. Thank you.
-
- >will operate. Another area to check carefully is DFKEY in MSUP98B.ASM because
- >that file required significant changes. Macros TERMINALR/S etc should now
- >work if you can insert the detection code in the terminal emulator.
-
- Yes, I know that the MSUP98.ASM must be rewritten. There are many missing
- functions.
-
- ---
-
- I found more serious problems. In the case of sliding windows, many timeouts
- occur. I checked the routines and found the following problem.
-
- In MSSCOM.ASM, you set 1 sec wait time (timeval) before calling 'inchr'.
- And in 'inchr', timeout is determined by using MS-DOS 'time of day' function
- call as follows;
-
- :
- if( min_now < min_timeout ) return( EARLY );
- if( min_now > min_timeout ) return( LATE );
- if( sec_now < sec_timeout ) return( EARLY );
- if( sec_now > sec_timeout ) return( LATE );
- if( hundredth_now < hundredth_timeout ) return( EARLY );
- return( LATE );
-
- However, the time-of-day clock of NEC-PC9801 does not have hundredths
- of second, i.e., always zero. Therefore, in the case of NEC-PC9801 and
- timeval is 1 sec, it returns LATE when 'sec' of the time-of-day clock is
- changed, i.e., in worst case, it returns LATE (timeout) immediately.
-
- I have tried to avoid this problem within MS?P98.ASM, but I could not find
- any good solution.
-
- One easy way to avoid this problem is to change the above algorithm like
-
- if( hundredth_now <= hundredth_timeout ) return( EARLY );
- ^
- |
- i.e., in MSSCOM.ASM
-
- inchr4: mov ah,gettim ; compare present tod versus timeout tod
- int dos ; get the time of day
- sub ch,rptim ; hours difference, ch = (now - timeout)
- je inchr4b ; e = same, check mmss.s
- jl inchr4d ; l = we are early
- cmp ch,12 ; hours difference, large or small?
- jge inchr4d ; ge = we are early
- jl inchr4c ; l = we are late, say timeout
- inchr4b:cmp cl,rptim+1 ; minutes, hours match
- jb inchr4d ; b = we are early
- ja inchr4c ; a = we are late
- cmp dh,rptim+2 ; seconds, hours and minutes match
- jb inchr4d ; b = we are early
- ja inchr4c ; a = we are late
- cmp dl,rptim+3 ; hundredths of seconds, hhmmss match
- jbe inchr4d ; be = we are early
- ^ ^
- | |
-
- In this case, timeout occures 1/100 sec after setting value if time-of-day
- clock have hundredths of sec.
- How do you think ?
-
- Hirofumi Fujii
- 09-March-1991
- --------------------------
- keibun@jpnkekvm (BITNET)
- ===============================================================================
- Date: Mon, 11 Mar 91 08:07 MDT
- From: Joe Doupnik <JRD@usu.bitnet>
- Subject: Re: NEC PC9801 Kermit v3.10
- To: KEIBUN@JPNKEKVM.BITNET
- Message-id: <A8FF77F4541702B44F@cc.usu.edu>
- X-Envelope-to: KEIBUN@JPNKEKVM.BITNET
- X-VMS-To: IN%"KEIBUN@JPNKEKVM.BITNET"
- X-VMS-Cc: JRD
-
- Hirofumi,
- Time of day: Yes, I see the problem. And your solution is fine.
- My problem is the v3,10 code is frozen now (AT&T has a copy ready for
- dsitribution with Unix). That means for the NEC v3.10 Kermit you will need
- to include a replacement for file msscom.asm with the changed timeout
- algorithm. I will modify the algorithm in the release after this to accomodate
- the NEC difficulty.
- So, we will have a new file, MSCP98.ASM (looks about right), to
- replace MSSCOM.ASM.
- Thanks for the information,
- Joe D.
- ===============================================================================
- 05-April-1991
-
- - Found bug in MSXP98.ASM . 'flowoff' and 'flowon' were not set, and
- no flowcontrol was applied for sending characters to the host.
-
- - Added 'pcwtst' in MSZP98.ASM to adjust the counter for 'pcwait'.
- the value 'pcwcnt' is set by using interval timer BIOS.
-
- - SENDBR and SENDBL are now drop the DTR almost correct interval, i.e.,
- 275 msec and 1.8 sec respectively.
-
- - OUTCHR waits for XON for about 15 sec in 4 msec interval when XOFF
- received (as in IBM-PC version).
-
- -> KEK v1.21 05-APR-1991
- ===============================================================================
-